
const http = require('http');
const url = require('url');
const path = require('path');
const fs = require('fs');
const mime = require('mime');

const app = http.createServer( );

app.on('request', (req, res) => {
	//获取用户的请求路径
	let pathname = url.parse(req.url).pathname;
	//这儿出现了问题当我在浏览器中输入localhost:3000的时候，
	// 他并没有跳转到default.html的页面(问题依然没有被解决)
	//问题解决了，问题出在我再打三元运算符的时候少打了一个斜杠	'default.html' 我太憨憨了!

	pathname = pathname == '/' ? '/default.html' : pathname;
	// if (pathname == '/') {
	// 	pathname = 'default.html';
	// 	return pathname;
	// } else {
	// 	pathname = pathname;
	// 	return pathname;
	// }
	//将用户的请求路径转换为实际的服务器硬盘路径
	let realPath = path.join(__dirname, 'public' + pathname);

	let type = mime.getType(realPath);
	//读取文件
	fs.readFile(realPath, (error, result) => {
		//如果文件读取失败
		if (error != null) {
			res.writeHead(404, {
				'content-type': 'text/html;charset=utf8'
			});
			res.end('文件读取失败');
			return;
		}

		res.writeHead(200, {
			'content-type': type
		});

		res.end(result);
	});
});

//监听端口
app.listen(3000);
console.log('服务器启动成功')